package com.cf.invoker.http.client;

import com.cf.invoker.RemoteClient;

import java.lang.reflect.Method;
import java.util.List;

/****
 *
 * @Author zhu-mingming
 * @Description
 * @Date 2018/10/23
 *
 **/

public class ClientMeta {

    private Method method;

    private boolean hasReturn;

    private boolean hasArguments;

    private Class<?> responseType;

    private Class methodParentClass;

    private RemoteClient remoteClient;

    private List<Class<?>> argumentTypes;

    public RemoteClient getRemoteClient() {
        return remoteClient;
    }

    public ClientMeta setRemoteClient(RemoteClient remoteClient) {
        this.remoteClient = remoteClient;
        return this;
    }

    public Class getMethodParentClass() {
        return methodParentClass;
    }

    public ClientMeta setMethodParentClass(Class methodParentClass) {
        this.methodParentClass = methodParentClass;
        return this;
    }

    public Method getMethod() {
        return method;
    }

    public ClientMeta setMethod(Method method) {
        this.method = method;
        return this;
    }

    public List<Class<?>> getArgumentTypes() {
        return argumentTypes;
    }

    public ClientMeta setArgumentTypes(List<Class<?>> argumentTypes) {
        this.argumentTypes = argumentTypes;
        return this;
    }

    public Class<?> getResponseType() {
        return responseType;
    }

    public ClientMeta setResponseType(Class<?> responseType) {
        this.responseType = responseType;
        return this;
    }

    public boolean isHasReturn() {
        return hasReturn;
    }

    public ClientMeta setHasReturn(boolean hasReturn) {
        this.hasReturn = hasReturn;
        return this;
    }

    public boolean isHasArguments() {
        return hasArguments;
    }

    public ClientMeta setHasArguments(boolean hasArguments) {
        this.hasArguments = hasArguments;
        return this;
    }
}
